<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>ES6类继承</title>
</head>
<body>
  
</body>
<script>
  //定义个父类
  class Phone {
    // 构造方法
    constructor(brand, price) {
      this.brand = brand;
      this.price = price;
    }

    // 父类成员方法
    call() {
      console.log("我可以打电话");
    }
  }

  // 创建一个子类，继承Phone
  class SmartPhone extends Phone {
    constructor(brand, price, color, size) {
      super(); // 调用父类的构造方法，等同于 Phone.call(this, brand, price)
      this.color = color;
      this.size = size;
    }

    // 子类的成员方法
    photo() {
      console.log("我可以拍照");
    }
    playGame() {
      console.log("我可以玩游戏");
    }
    // 对父类方法的重写
    // call() {
    //   console.log("我可以打视频电话");
    // }
  }

  const xiaomi = new SmartPhone();
  xiaomi.photo();
  xiaomi.playGame();
  xiaomi.call(); // 也可以调用父类的成员方法
</script>
</html>